Helo bumper system using a camera for obstacle detection

ABSTRACT

A camera-based obstacle detection system includes a first camera, a second camera, and one or more processors configured to acquire a first image from the first camera, acquire a second image from the second camera, determine a depth of an object based on a location of the object in the first image relative to a location of the object in the second image, and in response to the depth exceeding a threshold depth value, generate an alert.

TECHNICAL FIELD

The disclosure relates to obstacle detection for aircraft, includinghelicopters.

BACKGROUND

According to a study of civil helicopter accidents, 61% of the accidentsoccurred during take-off, maneuvering, approach and landing (i.e. whileflying low and slow), and 38% of the accidents were caused by a lack ofadequate situational awareness by the pilot.

SUMMARY

This disclosure describes example camera-based obstacle detectionsystems that may be used on various aircraft. In one example, ahelicopter alert system includes a first camera; a second camera; andone or more processors configured to acquire a first image from thefirst camera, acquire a second image from the second camera, determine adepth of an object based on a location of the object in the first imagerelative to a location of the object in the second image, and inresponse to the depth exceeding a threshold depth value, generate analert.

In another example, a method includes acquiring a first image from afirst camera; acquiring a second image from a second camera; determininga depth of an object based on a location of the object in the firstimage relative to a location of the object in the second image; and inresponse to the depth exceeding a threshold depth value, generating analert.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a side view of a helicopter implementing an example obstacledetection system according to the techniques of this disclosure.

FIG. 2 is a block diagram illustrating another example of a helicopterthat includes an example camera-based obstacle detection systemconfigured to detect one or more objects proximate to the helicopter andpresent information regarding the detected one or more obstacles.

FIG. 3 is a flow diagram of an example technique for generating an alertin response to detecting a potential threat.

DETAILED DESCRIPTION

This disclosure describes example camera-based obstacle detectionsystems that may be used on various aircraft. The camera-based obstacledetection systems of this disclosure may each be of particular benefitto aircraft such as helicopters, tilt-rotor aircraft, blimps, hot airballoons, and other types of aircrafts configured to fly at relativelylow to moderate speeds in a predominantly vertical (i.e., up and downrelative to ground) direction. A camera-based obstacle detection systemas described herein can be used during relatively low-altitudeoperations to help the aircraft pilot(s) stay apprised of obstacles withwhich the aircraft may collide during the low-altitude operations (e.g.,during takeoff, landing, low-altitude hovering, and the like). Theobstacles can include, for example, another aircraft, a ground vehicle,an airport or heliport structure, a tree, power lines, or virtually anyother type of object.

As will be explained in greater detail below, the camera-based obstacledetection system may acquire two or more images of a target area, suchas an area under or above the aircraft. The two or more images may beacquired from different locations, for example, by different lenses of astereo camera. The camera-based obstacle detection system may performimage analysis to detect objects in the two or more images of the targetarea. The camera-based obstacle detection system may also calculatedisparity values for the objects. A disparity value for an objectgenerally refers to the difference in location, in units of pixels forexample, of the object from a first image relative to a second image.Based on the separation between the two lenses of the stereo camera,which may be a known parameter of the stereo camera, and the disparityvalue of the Object, the camera-based obstacle detection system candetermine a depth of the object using a known disparity-to-depthconversion technique. Based on the determined depth of the object, thecamera-based obstacle detection system can determine if the object is apotentially hazardous object, and if so, provide the pilot with anindication of the object on an appropriate display and/or generate otherappropriate notifications (e.g., either or both of audio and visualwarnings) to alert the pilot to the potentially hazardous object.

The camera-based obstacle detection system of this disclosure may berelatively inexpensive compared to existing microwave radar-basedobstacle detection systems. For among other reasons, the camera-basedobstacle detection system of this disclosure may be implemented using acombination of existing components with no or only limited need forspecial-purpose components. Moreover, the camera-based obstacledetection system of this disclosure may offer improved obstacledetection compared to radar-based obstacle detection systems. Forexample, radar-based systems transmit signals and then detectreflections of the transmitted signals. Thus, while radar-basedobjection detection systems can accurately detect larger objects andflat-surfaced objects, the radar-based detection systems often times donot adequately detect objects with small cross-sections, such as powerlines or other small objects with round or cylindrical surfaces that donot produce good signal reflections.

FIG. 1 shows a side view of a helicopter 10 with an example camera-basedobstacle detection system (CODS) 12 (also referred to herein as “system12”) configured to implement the techniques of this disclosure.Helicopter 10 includes a fuselage that includes a cabin portion 18 and atail portion 22, a landing structure 26, such as landing skids or thelike, a main rotor 30, and a tail rotor 34. Helicopter 10 is intended torepresent one of the many kinds of helicopters on which system 12 may beimplemented. Furthermore, although system 12 will be described in thisdisclosure with reference to a helicopter, it should be understood thatsystem 12 may be implemented into other types of aircraft, and asmentioned above, may be of particular benefit to aircraft configured tomaneuver at relatively low to moderate speeds in a predominantlyvertical direction.

System 12 includes a plurality of cameras 38A-38C (cameras 38) mountedto the underside of helicopter 10. Cameras 38 may be located at anysuitable place on helicopter 10. In the example of FIG. 1, camera 38A ismounted towards the front, underside of cabin portion 18, and camera 38Bis mounted to a back, underside portion of cabin portion 18. Camera 38Cis mounted to an underside of tail portion 22. In other implementations,system 12 may include a greater or fewer number of cameras than thethree cameras shown in FIG. 1. The inclusion of more cameras in system12 may, however, improve imaging by delivering multiple perspectives,which may further improve the ability to accurately detect the distanceto obstacles. Furthermore, although this disclosure generally describesexamples with respect to cameras located on the bottom of a helicopter(e.g., the surface of helicopter 18 configured to face a surface whenhelicopter 10 is taking off from the surface), which may be used forlanding, it is also contemplated that cameras may be mounted on the topof a helicopter which may, for example, be used during takeoff.

In some examples, any or all of cameras 38A-38C may be stereoscopiccameras that include at least two separate lenses with each lens havinga separate image sensor. In other examples, any or all of cameras38A-38C may be monoscopic cameras. Regardless of whether stereoscopic ormonoscopic, cameras 38 may acquire images in any of a red/green/blue(RGB) format, a luminance-chrominance (YCbCr) format a monochromeformat, or any other color format. Additionally, any or all of cameras38A-38C may be thermographic (e.g. infrared) cameras, where the value ofa pixel in an acquired image represents a measured temperature asopposed to a color value. The various image processing techniquesdescribed below are equally applicable to both thermographic images andcolor-formatted images.

In addition, cameras 38 may have any suitable frame rate for detectingand tracking objects, such as, but not limited to, about 5 frames persecond to about 60 frames per second. In some examples, the frame rateis selected to provide system 12 with framing updates adequate toaccount for changes in altitude of helicopter 10 and to provide adequateresponse time to the pilot, e.g., to maneuver helicopter 10 to avoid adetected object. Moreover, cameras 38 may use any resolution suitablefor calculating depth and disparity values. Higher resolution camerasmay allow for more accurate estimates of depth values but may alsoincrease the computational complexity associated with finding the depthvalues. As images acquired by cameras 38 may be used for performingobstacle detection without being displayed, parameters for cameras 38such as frame rate, resolution, and distance between lenses may beoptimized for object detection purposes as opposed to being optimizedfor display purposes.

Each of cameras 38 may be oriented relative to helicopter 10 such thatany objects that may be a potential collision hazard (also referred toherein as a “threat”) to the particular structure of helicopter 10 onwhich the camera is mounted falls within the field of view (FOV) ofcameras 38. In some implementations, multiple cameras may have differentFOVs, such that the combined FOV of all cameras covers a desired targetarea. Additionally or alternatively, multiple cameras may haveoverlapping FOVs in order to provide redundancy. For example, in someimplementations, cameras 38 may include both thermographic andnon-thermographic cameras that have overlapping FOVs. In the example ofFIG. 1, cameras 38 may be oriented such that the combined FOV of all ofcameras 38 extends beyond the perimeter of the surface of the areacovered by the helicopter, including beyond the circumference of mainrotor 30 when main rotor 30 is rotating.

The numbers of cameras used in system 12 and the positioning of camerasin system 12 may be selected such that obstacles are detected in anentire space around helicopter 10. For example, the cameras may bepositioned such that the combined FOV of the cameras cover a sphere,oval, or other such shape, where the helicopter is positioned at thecenter of the shape, and the boundaries of the shape extend beyond thespace directly under helicopter 10. In other examples, the cameras maybe positioned such that a combined FOV of the cameras only covers thearea directly under helicopter 10 or a portion of the area directlyunder helicopter 10.

In some operational situations, helicopter 10 may be descending upon orapproaching an Obstacle or hazard. For example, structure 39 locatedbelow helicopter 10 may be an obstacle that should be avoided.Structures 41A-41D represent the surface surrounding structure 39 andmay, for example, form a landing pad. Structure 39 is intended torepresent any type of structure which may potentially be a threat tohelicopter 10. In such an operational situation, system 12 may obtain afirst image captured by one of cameras 38A-38C and obtain a second imagecaptured by one of cameras 38A-38C. In some example implementations, thefirst and second images may be captured by first and second lenses of astereoscopic camera. (e.g., two or more of the cameras 38A-38C may bepart of a. common stereoscopic camera). In other examples, the first andsecond images may be captured by two different monoscopic cameras. Ifcaptured by two different monoscopic cameras, system 12 may beconfigured to synchronize the capturing of the first and second images,such that the two monoscopic cameras capture the first and second imagesat the same time or substantially close to the same time. Thus, the twomonoscopic cameras may be configured to be functionally equivalent to astereoscopic camera.

System 12 may detect in the first image and the second image an objectcorresponding to structure 39. System 12 may, for example, detect theobject using a known object detection technique, such as by identifyingboundaries of objects based on large differences in pixel values betweenadjacent pixels. In other implementations, the objects detected bysystem 12 may not correspond to actual objects determined in the images,but instead may be artificially determined by, for example, dividing theimage into blocks of pixels. System 12 may determine a disparity valuefor the object in the first image relative to the second image. Thedisparity value represents an offset of the location of the object inthe first image relative to the location of the object in the secondimage. System 12 may, for example, determine a disparity value for someor all pixels in the object and select as the disparity value for theobject, the average of the determined disparity values, a maximum of thedetermined disparity values, a minimum of the determined disparityvalues, a mode of the determined disparity values, or determine adisparity value based on some other criteria. The disparity value may,for example, be determined in units of pixels.

Based on the disparity value for the object, system 12 may determine adepth value for the object The depth value may be correlated to adistance between the cameras used to acquire the image and the object.In response to the depth value exceeding a threshold, system 12 maygenerate an alert (e.g. one or both of an audio or visual alert) andtransmit the alert to an alert delivery subsystem which may, forexample, be inside cabin portion 18, such that the alert will bereceived by a pilot of helicopter 10. The alert may, for example, be anindication on a display, and audible alarm, or other such notification.

System 12 may, for example, be configured to utilize a threshold valuethat causes an alert to be sent to the pilot while helicopter 10 isstill sufficiently far enough away from structure 39 that the pilot hastime to assess the threat of structure 39 and take corrective action ifneeded. in some examples, the distance between helicopter 10 andstructure 39 at which system 12 generates an alert may be a user,selectable parameter, such that an operator of system 12 (e.g. a pilot)can determine their own sensitivity level for receiving alerts.Additionally or alternatively, the threshold value utilized by system 12may be modified to account for the different body styles of aircraft inwhich system 12 may be installed. In the example of helicopter 10, thelowest point of helicopter 10 (e.g. landing structure 26) may beapproximately a meter below any of cameras 38, but in other aircraft thedistance between the cameras and the lowest point of the aircraft may begreater or less. The threshold distance at which system 12 generates analert may be modified to account for these differences.

System 12 may determine the depth value based on the determineddisparity value, as well as based on a sensor separation value betweenthe first camera and the second camera. In the case where the firstcamera and the second camera are a stereoscopic camera, then the sensorseparation value may be a known parameter of the stereo camera. In thecase where the first camera and the second camera are two differentmonoscopic cameras, then the sensor separation value may be measured atthe time of installation. Regardless of whether a stereo camera or twomonoscopic cameras are used, it is contemplated that in someimplementations system 12 will be pre-programmed with the sensorseparation value, such that at the time of use, the sensor separationvalue will be a known parameter as opposed to a calculated parameter.

To distinguish an object that is a threat from an object that is not athreat, system 12 may determine depth values for a plurality of objectsin the first and second images and compare the depth values for theplurality of objects to determine how similar or how different thevarious depth values are. Typically, depth values that are the same ornearly the same indicate objects that are at equal depths, which istypically not indicative of a threat. Referring to FIG. 1, objects 41Aand 41C may be a portion of a landing pad that are painted yellow, whileobjects 41B and 41D may be portions of a landing pad that are notpainted. In analyzing a first and second image, system 12 may identifyobjects 41A, 41B, 41C, and 41D as being separate objects, but becauseall of objects 41A-41D have the same or nearly the same depth values,system 12 may determine that none of objects 41A-41D constitute athreat. Structure 39, by contrast, has a depth value that is differentthan objects 41A-41D, and thus may constitute a threat.

System 12 may compare the depth value of one or more objects in thefirst and second images to depth values of other objects in the firstand second images, and in response to a difference between the depthvalues of any two objects being greater than a threshold value, system12 may determine one of the objects to be a threat. This threshold valuerepresents a variance in the depths of objects in the acquired first andsecond images, with a variance higher than the threshold variance beingindicative of an object being a threat Typically, a safe landing surfaceis relatively flat, and thus, the variance of depth values determinedfor two images of the landing surface will be relatively small.

It is contemplated that system 12 and cameras 38 may be either builtinto helicopter 10 or may be an after-market product. In animplementation where system 12 is built into helicopter 10, then system12 and cameras 38 may, for example, be added to helicopter 10 at thetime of manufacture and may be highly integrated with other systems ofhelicopter 10. For instance, the alert-delivery subsystem that deliversthe alert in response to detecting a threat may be built into the maininstrumentation panel of helicopter 10. In an implementation wheresystem 12 is an after-market product, then system 12 and cameras 38 maybe retrofitted to helicopter and be less integrated with other systemsof helicopter 10. For instance, the alert-delivery subsystem may beseparate from the main instrumentation panel of helicopter 10. In someimplementations, the alert-delivery subsystem may be a personalcomputing device, such as a smartphone, tablet computer, or laptopcomputer that is in communication with system 12. In otherimplementations, system 12 may be a program or application beingexecuted by the personal computing device, and the personal computingdevice may be in communication with cameras 38.

If built into helicopter 10, it is contemplated that system 12 andcameras 38 may be powered by a power source, such as a battery and/oralternator that also powers other systems of helicopter 10. If anafter-market product, it is contemplated that system 12 and cameras 38may still be powered by a power source of helicopter 10, but it alsocontemplated that system 12 and cameras 38 may utilize their owndedicated power source, such as a battery.

FIG. 2 is a block diagram illustrating various components of helicopter10. In the example of FIG. 2, helicopter 10 includes camera-basedobstacle detection system 12 configured to detect one or more objectsproximate to helicopter 10 and present information to a flight crew(e.g., a pilot) regarding the detected one or more obstacles. Theobstacles can include, for example, another aircraft, a ground vehicle,a heliport structure, a tree, power lines, or virtually any other typeof object.

In the example shown in FIG. 2, ground obstacle detection system 12includes cameras 38 and processor 40, and helicopter 10 further includesuser interface 42, one or more data. sources 46, communications module48, and memory 50. The configuration of helicopter 10 and groundobstacle detection system 12 shown in FIG. 2 is merely one example. Inother examples, helicopter 10 and ground obstacle detection system 12can include different components. In addition, in some examples, groundobstacle detection system 12 and other aircraft systems may shareresources. For example, in the example shown in FIG. 2, user interface42, one or more data sources 46, communications module 48, and memory 50are a part of ground obstacle detection system 12 and one or more othersystems of aircraft 12.

Although system 12 is shown to be onboard helicopter 10, in otherexamples, a portion of system 12 or the entire system 12 can be locatedexternal to helicopter 10. For example, a processor may be locatedexternal to helicopter 10 and may perform any part of the functionsattributed to processor 40 herein. Also, cameras 38 may be locatedexternal to the aircraft, or one or more cameras may be located on theaircraft with one or more additional cameras located externally formulti-perspective imaging, which may further improve the ability toaccurately detect the size and shape of obstacles.

Processor 40, as well as other processors disclosed herein, may compriseany suitable arrangement of hardware, software, firmware, or anycombination thereof, to perform the techniques attributed to processor40 herein. For example, processor 40 may include any one or moremicroprocessors, digital signal processors (DSPs), application specificintegrated circuits (ASICs), field programmable gate arrays (FPGAs), orany other equivalent integrated or discrete logic circuitry, as well asany combinations of such components. Memory 50 includes any volatile ornon-volatile media, such as a random access memory (RAM), read onlymemory (ROM), non-volatile RAM (NVRAM), electrically erasableprogrammable ROM (EEPROM), flash memory, and the like. Memory 50 maystore computer readable instructions that, When executed by processor40, cause processor 40 to perform the techniques attributed to processor40 herein.

User interface 42 of FIG. 2 may, for example, be part of thealert-delivery subsystem referenced in the description of FIG. 1. Userinterface 42 is configured to present information regarding one or moredetected objects to a user of system 12. A user of system 12 may, forexample, be a pilot of helicopter 10, another flight crew member, or maybe located remotely from helicopter 10, such as at a ground controlstation. User interface 42 includes a display device, which can be, forexample, one or more of a liquid crystal display (LCD) or a lightemitting diode (LED) display configured to present visual information tothe user. The display device can be provided by any suitable device,such as, for example, one or more of a computing device (such as alaptop computer, tablet computer or smartphone), an electronic flightbag (EFB), a primary flight display (PFD), a multifunction display(MFD), a navigation display, or any other suitable device that includesa display. The display can be a head-up display, a head-down display, ahead-mounted display or any other display capable of presentinggraphical information to a user.

In addition, in some examples, user interface 42 may include a speakerconfigured to deliver audible information, a sensory device configuredto deliver information via a somatosensory alert, or any combinationthereof. User interface 42 may also be configured to receive input froma user. For example, user interface 42 may include one or more of akeypad, buttons, a peripheral pointing device or another input mechanismthat allows the user to provide input. The buttons may be dedicated toperforming a certain function, e.g., receiving user input indicative ofa specific type of input, or the buttons and the keypad may be soft keysthat change in function depending upon the section of a displaycurrently viewed by the user. In some examples, the display device ofuser interface 42 may be a touch screen display configured to receivethe input from a user.

While user interface 42 may in some implementations be configured toshow a video feed from one or more of cameras 38, it is contemplatedthat user interface 42 need not necessarily show a video feed from oneof cameras 38. Instead, in response to detecting an object that may be athreat, user interface 42 may deliver an alert in the form of a warninglight, an audible alarm, somatosensory alert (e.g., a vibration sensedby the user) or the like. In some examples, the images captured bycamera 38 may not be utilized for display, and, in these examples, theimage acquisition parameters (e.g. frame rate, resolution, etc.) do notneed to be optimized for viewing. Additionally, the image processingtechniques used for determining depth and disparity values maypotentially be simplified relative to the techniques utilized for videothat is intended to be displayed via a display of user interface 42.

Processor 40 is configured to send and receive information over a datachannel via communications module 48, which may include a transponder, atransmitter, or any combination thereof. For example, processor 40 maybe configured to send, receive, or both send and receive data from datasources external to helicopter 10, such as from other vehicles andground-based systems. The data received by processor 40 can include, farexample, information indicative of objects proximate to helicopter 10.Examples of data that can be received from sources external tohelicopter 10 include, but are not limited to, data indicating theposition and, in some cases, the velocity, of other aircraft on theground, such as automatic dependent surveillance-broadcast orbroadcast/traffic information service-broadcast (ADS-B/TIS-B) datareceived from other aircraft or ground vehicles, data transmitted by anairport or airline and indicating the position of othervehicles/aircraft/obstacles (e.g., received by helicopter 10 via aWorldwide Interoperability for Microwave Access (WiMAX)), or anycombination thereof.

Processor 40 is configured to receive video data from cameras 38 and, insome cases, may be configured to control cameras 38. The communicativecoupling between processor 40 and cameras 38 may be, for example, a databus, a direct connection, or any other wired or wireless communicationinterface. As mentioned above, in some implementations, processor 40 maybe a component of a personal computing device such as a smartphone,tablet computer, or laptop computer.

Cameras 38 may capture first and second images that are images of thesame field of view but from slightly different perspectives. Processor40 may identify a first group of pixels in the first image and identifya second group of pixels in the second image. The second group of pixelsmay correspond to the first group of pixel in the first image, meaningthe first group of pixels and the second group of pixels may show thesame object, and thus have the same pixel values. Processor 40 maylocate the second group of pixels in the second image by searching for agroup of pixels with pixel values that match the first group of pixels.Processor 40 may determine a disparity value for the first group ofpixels in the first image relative to the second group of pixels in thesecond image. Based on the disparity, processor 40 may determine a depthvalue for the object, and in response to the depth value exceeding adepth threshold, generate an alert. The alert may be delivered via userinterface 42.

In addition to being dependent on a depth value of the object, whetheror not processor 40 generates an alert may also be dependent on adifference between the depth value of the object and depth values ofother objects in the first and second images. In response to adifference between the depth values of two objects being greater than adepth variance threshold and in response to the depth value exceedingthe depth threshold, processor 40 may generate the alert.

Processor 40 is also configured to receive data from, and, in somecases, control, one or more data sources 46 onboard helicopter 10. Thecommunicative coupling between processor 40 and one more data sources 46may be, for example, a data bus, a direct connection, or any other wiredor wireless communication interface. In some examples, one or more datasources 46 may be configured to generate data indicative of a locationof helicopter 10. In these examples, one or more data sources 46 mayinclude GPS, inertial navigation system (INS), or another positioningsystem configured to indicate the location of helicopter 10. Thelocation of helicopter 10 indicated by the data from one or more datasources 46 may be the geographic location (e.g., latitude and longitude)of helicopter 10, the location of helicopter 10 relative to one or morelandmarks, or any combination thereof. In addition, or instead, one ormore data sources 46 may include a maps database, which stores aplurality of maps that indicate the location (e.g., by globalcoordinates) of ground structures, such as airport buildings, towers,airport signage and the like on the airport ground surface.

Processor 40 may, for example, utilize information from data sources 46in determining if an object is a threat and if an alert should begenerated. As one potential example, processor 40 may, for example,determine a rate at which helicopter 10 is ascending or descending. Whenhelicopter 10 is ascending or descending rapidly, processor 40 mayincrease the depth threshold at which alerts are generated, thus sendingalerts at greater distances between helicopter 10 and a potential threatand allowing an operator of helicopter 10 more time to take correctivemeasures. When helicopter 10 is ascending or descending more slowly, theextra time afforded by sending the alert at a greater distance may notbe needed, and thus processor 40 may decrease the depth threshold atwhich alerts are generated.

In some examples, processor 40 can be configured to determine thelocation of one or more objects known to not be collision hazards forhelicopter 10 (e.g., based on the height of the Objects) by referencingthe present location of helicopter 10 (as indicated by one or more datasources 46) to a maps database. Processor 40 can then, for example,determine a detected object is not a threat to helicopter 10 in responseto determining the detected object is one of the Objects known to not becollision hazards for helicopter 10.

FIG. 3 is a flow diagram showing example techniques for determining if adetected object is a threat. For ease of description, the techniquesshown in FIG. 3 are described with respect to system 12 of FIGS. 1 and2. System 12 acquires a first image from a first camera and acquires asecond image from a second camera (60). System 12 (e.g. processor 40 incommunication with other components shown in FIG. 2) determines a depthof an object based on a location of the object in the first imagerelative to a location of the object in the second image (62). Inresponse to the depth exceeding (e.g. being greater than) a thresholddepth value (“NO” branch of block 64), system 12 may determine that theobject is not a threat (66), and thus, not generate an alert In responseto the depth exceeding (e.g. being less than) a threshold depth value(“YES” branch of block 64), system 12 may compare the depth of theobject to one or more depth values for other objects in the first imageand the second image (68). In response to a difference between the depthvalue of the first object and a depth value of the one or more depthvalues being less than a depth variance threshold (“NO” branch of block70), system 12 may determine the object is not a threat (66). Inresponse to a difference between the depth value of the first object anda depth value of the one or more depth values being greater than a depthvariance threshold (“YES” branch of block (70), system 12 may determinethe object is potentially a threat and generate an alert (72).

It should be appreciated that the arrangement of steps shown in FIG. 3is only one example arrangement and that the steps may be performed indifferent orders. As one example, steps 68 and 70 may be performedbefore steps 62 and 64 rather than after. Moreover, it should beappreciated that certain steps may be omitted. As one example, steps 62and 64 may be omitted such that system 12 determines if an object is athreat only based on the variance of the depth values determined for thefirst and second images, or steps 68 and 70 may be omitted such thatsystem 12 determines if an object is a threat only based on the depth ofthe object.

Throughout this disclosure certain techniques have been described withrespect to depth or with respect to disparity. Depth and disparity areinversely proportional values, with a small disparity typicallycorresponding to a large depth, and vice versa. Accordingly, unlessotherwise explicitly stated, any technique described with respect todisparity may also be performed using depth, and any technique describedwith respect to depth may also be performed using disparity. As oneexample, block 64 of FIG. 3 describes determining if a depth value isgreater than a threshold value. This determination may be made bydetermining if the depth value is greater than the threshold value, butthis determination may also be made by determining if a disparity valueis less than a threshold. As another example, block 70 of FIG. 3describes determining if a depth variance is greater than a threshold.This determination may be made by determining if the depth variance isgreater than a threshold, but this determination may also be made bydetermining if a disparity variance is greater than a threshold.

The techniques of this disclosure may be implemented in a wide varietyof computer devices. Any components, modules or units have beendescribed provided to emphasize functional aspects and does notnecessarily require realization by different hardware units. Thetechniques described herein may also be implemented in hardware,software, firmware, or any combination thereof. Any features describedas modules, units or components may be implemented together in anintegrated logic device or separately as discrete but interoperablelogic devices. In some cases, various features may be implemented as anintegrated circuit device, such as an integrated circuit chip orchipset.

If implemented in software, the techniques may be realized at least inpart by a computer-readable medium comprising instructions that, whenexecuted in a processor, performs one or more of the methods describedabove. The computer-readable medium may comprise a tangiblecomputer-readable storage medium and may form part of a larger product.The computer-readable storage medium may comprise random access memory(RAM) such as synchronous dynamic random access memory (SDRAM),read-only memory (ROM), non-volatile random access memory (NVRAM),electrically erasable programmable read-only memory (EEPROM), FLASHmemory, magnetic or optical data storage media, and the like. Thecomputer-readable storage medium may also comprise a non-volatilestorage device, such as a hard-disk, magnetic tape, a compact disk (CD),digital versatile disk (DVD), Blu-ray disk, holographic data storagemedia, or other non-volatile storage device.

The term “processor,” as used herein may refer to any of the foregoingstructure or any other structure suitable for implementation of thetechniques described herein. In addition, in some aspects, thefunctionality described herein may be provided within dedicated softwaremodules or hardware modules configured for performing the techniques ofthis disclosure. Even if implemented in software, the techniques may usehardware such as a processor to execute the software, and a memory tostore the software. In any such cases, the computers described hereinmay define a specific machine that is capable of executing the specificfunctions described herein. Also, the techniques could be fullyimplemented in one or more circuits or logic elements, which could alsobe considered a processor.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A helicopter alert system comprising: a firstcamera; a second camera; and one or more processors configured to:acquire a first image from the first camera, acquire a second image fromthe second camera, determine a depth of an object based on a location ofthe object in the first image relative to a location of the object inthe second image, and in response to the depth exceeding a thresholddepth value, generate an alert.
 2. The helicopter alert system of claim1, wherein the one or more processors are configured to determine thedepth of the object by: identifying a first group of pixels in the firstimage, identifying a second group of pixels in the second image, whereinthe second group of pixels corresponds to the first group of pixel inthe first image, determining a disparity value for the first group ofpixels in the first image relative to the second group of pixels in thesecond image, and based on the disparity, determining the depth value.3. The helicopter alert system of claim 2, wherein the one or moreprocessors are further configured to compare the disparity value for thefirst group of pixels to one or more disparity values for other groupsof pixels in the first image, and in response to a difference betweenthe disparity value for the first group of pixels and a disparity valueof the one or more disparity values being greater than a secondthreshold, generate the alert.
 4. The helicopter alert system of claim1, wherein the one or more processors are further configured to comparethe depth of the object to one or more depth values for other objects inthe first image and the second image, and in response to a differencebetween the depth value of the first object and a depth value of the oneor more depth values being greater than a depth variance threshold,generate the alert.
 5. The helicopter alert system of claim 1, whereinthe first camera and the second camera comprise a stereo camera.
 6. Thehelicopter alert system of claim 1, wherein the first camera and thesecond camera each comprise one or more thermographic cameras.
 7. Thehelicopter alert system of claim 1, wherein the first camera and thesecond camera each comprise one or more monochromatic cameras.
 8. Thehelicopter alert system of claim 1, wherein the alert comprises an audioalert.
 9. The helicopter alert system of claim 1, wherein the alertcomprises a visual alert.
 10. The helicopter alert system of claim 1,further comprising a smartphone, a tablet computer, or a laptop computercomprising the one or more processors.
 11. The helicopter alert systemof claim 1, wherein the one or more processor are configured towirelessly communicate with the first camera and the second camera. 12.A method comprising: acquiring a first image from a first camera;acquiring a second image from a second camera; determining a depth of anobject based on a location of the object in the first image relative toa location of the object in the second image; and in response to thedepth exceeding a threshold depth value, generating an alert.
 13. Themethod of claim 12, wherein determining the depth of the objectcomprises: identifying a first group of pixels in the first image;identifying a second group of pixels in the second image; wherein thesecond group of pixels corresponds to the first group of pixel in thefirst image; determining a disparity value for the first group of pixelsin the first image relative to the second group of pixels in the secondimage; and based on the disparity, determining the depth value.
 14. Themethod of claim 3, further comprising: comparing the disparity value forthe first group of pixels to one or more disparity values for othergroups of pixels in the first image, and in response to a differencebetween the disparity value for the first group of pixels and adisparity value of the one or more disparity values being greater than asecond threshold, generating the alert.
 15. The method of claim 12,further comprising: comparing the depth of the object to one or moredepth values for other objects in the first image and the second image,and in response to a difference between the depth value of the firstobject and a depth value of the one or more depth values being greaterthan a depth variance threshold, generating the alert.
 16. The method ofclaim 12, wherein the first camera and the second camera each comprise astereo camera.
 17. The method of claim 12, wherein the first camera andthe second camera each comprise one or more thermographic cameras. 18.The method of claim 12, wherein the first camera and the second cameraeach comprise one or more monochromatic cameras.
 19. The method of claim12, wherein the alert comprises an audio alert.
 20. The method of claim12, wherein the alert comprises a visual alert.